iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 15
0

元件內聚性的三個原則

  1. 前言

    總體來說,本章針對我們平時認知的內聚性,切成三個不同的角度來做詳盡的說明,分別是再使用性-發佈等價原則、共同封閉原則、共同重原則,這三個原則惠組成一個三角形的內聚性張力圖,表示我們會在開發的不同階段,選擇我們該如何平衡這三股力

  2. 再使用性-發佈等價原則 REP

    “再使用性的細微度,就是發佈的細微度”,我的理解是,假設你是團隊開發,每一個人都是負責不同的模組,當你完成feature的branch後,下了最後一個commit推上remote branch,合併進入主branch,押上版本號,你就完成了一次發布,你可能替專案建立了某個模組,而這個模組會在接下來的開發過程中,給其他使用者,或者是說你的隊友使用,因此REP強調,需要謹慎去規劃並且切分每一次發布的內容,不只需要盡量完成內聚性,將相同的相關的內容放在一起,還要謹慎規劃粒度,確保使用者可以預期並知道該怎什麼時候,調整自己的程式碼,這裡我理解的是REP原則是強調,完成內聚性處理後,發佈的紀律.

  3. 共同封閉原則 CCP

    “將會因為相同理由,相同時間發生變化的類別,收集到相同的元件,反之亦然“,共同指的是,將相同理由,相同時間變化的類別收攏一起,封閉則是跟OCP相同,對於修改是封閉的,不過是理想情況,但我們可以做到策略性封閉,就是對於經歷過且常見的變化做到封閉修改的,這裡我的理解是OCP原則在於強調我們熟悉的將相同東西放一起的概念.

  4. 共同重複原則 CRP
    “不要強迫元件使用者,依賴他們不需要的東西”,這邊我的理解是,CRP原則告訴我們,不只是把相同的東西放一起,並要近一步妥善的劃分元件,不要讓元件的使用者,依賴他們不需要的模組,粒度需要再切分的細緻


上一篇
D14 簡單工廠模式
下一篇
D16 工廠方法模式
系列文
30天|入門NestJs連載學習筆記26
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言